//http://localhost:3000/random/10/100
//生成10到100的随机数
var express = require("express");
var app = express();

//创建了一个路由中间件用于处理类似 /random/10/100 这样的 API 请求
app.get("/random/:min/:max", function (req, res) {

    //使用内置的 parseInt 解析范围参数，而该函数的返回值只可能是整形数字或者 NaN
    var min = parseInt(req.params.min);
    var max = parseInt(req.params.max);
    //如果传入的参数有一个为 NaN 的话就会给客户端返回一个错误信息
    if (isNaN(min) || isNaN(max)) {
        //设置 HTTP 状态码为 400
        res.status(400);
        //发送包含错误信息的 JSON 数据。
        res.json({ error: "Bad request." });
        //结束请求处理并跳出中间件执行。
        return;
    }

    //在合法的参数返回内生成随机数并将结果返回给客户端
    var result = Math.round((Math.random() * (max - min)) + min);
    res.json({ result: result });
});

app.listen(3000, function () {
    console.log("App started on port 3000");
});
